package com.qidian.md.controller;

import com.qidian.md.service.ItemTypeService;
import com.qidian.mes.pojo.md.ItemType;
import com.qidian.mes.util.pojo.MESResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @Author 18林梦雅
 * @Company 起点编程
 * @Time 2023/10/27 14:35
 * @Description
 */
@RestController
@RequestMapping("/itemType")
@CrossOrigin
public class ItemTypeController {

    @Autowired
    ItemTypeService itemTypeService;

    @GetMapping("/list")
    public MESResult list(){
        return itemTypeService.selectAll();
    }

    @GetMapping("/listSearch")
    public MESResult listSearch(String itemTypeName,String enableFlag){
        ItemType itemType = new ItemType();
        itemType.setItemTypeName(itemTypeName);
        itemType.setEnableFlag(enableFlag);
        return itemTypeService.queryList(itemType);
    }

    @DeleteMapping("/{itemTypeId}")
    public MESResult deleteById(@PathVariable Long itemTypeId){//注意这里的注解是因为用字段为url
        return itemTypeService.deleteById(itemTypeId);
    };


    /**controller
     * 请求方法： GET
     * url : /itemType/get
     * 参数： itemTypeId(必须，要查询的物料产品分类编号)
     * 响应：
     *  成功： `{code:200,msg:"",data:{itemTypeId:1,itemTypename:"大锤",itemTypePass:"123".....}}`
     *  失败：`{code:400,msg:"没有数据",data:null}`
     * @param itemTypeId
     * @return
     */
    @GetMapping("/get")
    public MESResult get(Long itemTypeId){
        return   itemTypeService.queryById(itemTypeId);
    }

    /**编辑物料产品分类
     请求方法： PUT/POST
     url： /itemType/edit
     参数 : itemTypeId(必须),itemTypename,itemTypePass,itemTypeStatus
     响应结果：
     成功： ｛code:200,msg:"",data:null｝
     失败：
     失败｛code:500,msg:"错误信息",data:null｝
     重名 {code: 300,msg:"名字重复",data:""}
     */
    @PutMapping("/update")
    public MESResult update(@RequestBody ItemType itemType){
        System.out.println(itemType+"+++++++++++++++++++++++++++++++++++++++++");
        return itemTypeService.update(itemType);
    }

    /**controller
     * 添加物料产品分类接口
     * 请求方法： POST
     * url： /itemType/save
     * 参数：
     * 格式：JSON
     * 参数的内容：itemTypename,itemTypePass
     * 响应结果：
     * 成功： ｛code:200,msg:"",data:null｝
     * 失败：
     * 失败｛code:500,msg:"错误信息",data:null｝
     * 重名 {code: 300,msg:"名字重复",data:""}
     * @param itemType
     * @return
     */
    @PostMapping("/save")
    public MESResult save(@RequestBody ItemType itemType){
        System.out.println(itemType+"++++++++++++++++++++++++++++++++++++++++++++");
        return itemTypeService.addItemType(itemType);
    }

    @PutMapping("/selectByName")
    public MESResult selectByName(@RequestBody ItemType itemType){
        System.out.println(itemType+"++++++++++++++++++++++++++++++++++++++++++++");
        return itemTypeService.selectByname(itemType);
    }


}
